package com.ljm.sys.auth.api;

import com.ljm.common.page.PageDto;
import com.ljm.sys.auth.dto.SysAuthResourceDto;

import java.util.List;

/**
 * <p>
    * 系统资源 接口
    * </p>
 *
 * @author HuamingChen
 * @since 2020-06-11
 */
public interface SysAuthResourceApi {
    /**
     * 保存资源
     * @param dto 资源信息
     */
    void saveData(SysAuthResourceDto dto);

    /**
     * 删除资源
     * @param id 资源id
     */
    void delData(Long id);

    /**
     * 获取资源
     * @param id 资源id
     * @return 资源信息
     */
    SysAuthResourceDto getDataById(Long id);

    /**
     * 分页获取资源
     * @param dto 查询条件
     * @return 资源信息
     */
    PageDto<SysAuthResourceDto> getDataByPage(SysAuthResourceDto dto);

    /**
     * 获取全部资源
     * @return 资源信息
     */
    List<SysAuthResourceDto> getAllRes();

    /**
     *  获取子级资源
     * @param parentId 父id
     * @return 资源信息
     */
    List<SysAuthResourceDto> getChlildRes(Long parentId);

    /**
     * 获取资源树
     * @return 资源树
     */
    List<List<SysAuthResourceDto>> getResTree();
}
